/**
 * Copyright (c) 2019-2029, wwww.kiwipeach.cn (liuburu@qq.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * <p>
 * https://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
/*
* Copyright 2019 kiwipeach[1099501218@qq.com].
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.kiwipeach.blog.database.generator.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
/**
 * 系统菜单表
 *
 * @author kiwipeach
 * @create 2020-05-03
 */
@TableName("sys_function")
public class SysFunction implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 功能ID
     */
    @TableId("ID")
    private String id;

    @TableField("NAME")
    private String name;

    /**
     * 访问权限代码
     */
    @TableField("CODE")
    private String code;

    /**
     * 模块名称
     */
    @TableField("MODULE")
    private String module;

    /**
     * 功能路径(页面或操作)
     */
    @TableField("LOCATION")
    private String location;

    /**
     * 功能名称
     */
    @TableField("TEXT")
    private String text;

    /**
     * 父节点编号
     */
    @TableField("PARENTID")
    private String parentid;

    /**
     * 同级权重
     */
    @TableField("WEIGHT")
    private String weight;

    /**
     * 功能菜单状态
     */
    @TableField("STATUS")
    private String status;

    /**
     * 节点类型（PAGE,FUNCTION)
     */
    @TableField("NODE_TYPE")
    private String nodeType;

    /**
     * 图标
     */
    @TableField("ICON")
    private String icon;

    /**
     * 目标前端组件
     */
    @TableField("COMPONENT")
    private String component;

    /**
     * 重定向
     */
    @TableField("REDIRECT")
    private String redirect;

    /**
     * 可以在菜单中不展示这个路由，包括子路由。
     */
    @TableField("HIDE")
    private String hide;

    /**
     * 用于隐藏不需要在菜单中展示的子路由。
     */
    @TableField("HIDE_CHILDRENI_NMENU")
    private String hideChildreniNmenu;

    /**
     * 描述信息
     */
    @TableField("DESCRIPTION")
    private String description;

    /**
     * 是否缓存页面
     */
    @TableField("KEEP_ALIVE")
    private String keepAlive;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }
    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }
    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
    public String getParentid() {
        return parentid;
    }

    public void setParentid(String parentid) {
        this.parentid = parentid;
    }
    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
    public String getNodeType() {
        return nodeType;
    }

    public void setNodeType(String nodeType) {
        this.nodeType = nodeType;
    }
    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }
    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }
    public String getRedirect() {
        return redirect;
    }

    public void setRedirect(String redirect) {
        this.redirect = redirect;
    }
    public String getHide() {
        return hide;
    }

    public void setHide(String hide) {
        this.hide = hide;
    }
    public String getHideChildreniNmenu() {
        return hideChildreniNmenu;
    }

    public void setHideChildreniNmenu(String hideChildreniNmenu) {
        this.hideChildreniNmenu = hideChildreniNmenu;
    }
    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
    public String getKeepAlive() {
        return keepAlive;
    }

    public void setKeepAlive(String keepAlive) {
        this.keepAlive = keepAlive;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "SysFunction{" +
        "id=" + id +
        ", name=" + name +
        ", code=" + code +
        ", module=" + module +
        ", location=" + location +
        ", text=" + text +
        ", parentid=" + parentid +
        ", weight=" + weight +
        ", status=" + status +
        ", nodeType=" + nodeType +
        ", icon=" + icon +
        ", component=" + component +
        ", redirect=" + redirect +
        ", hide=" + hide +
        ", hideChildreniNmenu=" + hideChildreniNmenu +
        ", description=" + description +
        ", keepAlive=" + keepAlive +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        "}";
    }
}
